#include <stdio.h>
#include <unistd.h>
#include <signal.h>

__sighandler_t func;
void sigcb(int signo)
{
    printf("recv signal:%d\n", signo);
    //alarm(3);
    signal(signo, func);//将该信号值的处理方式 修改为 原先的处理方式。  等会运行程序连续两次有间隔的按下ctrl+c 即可观察结果。
}
int main()
{
    //signal(2, SIG_IGN);
    func = signal(2, sigcb); // 这个函数的返回值，就是该信号原先的处理方式。该结果就是2
    signal(35, sigcb);
     //signal(SIGALRM, sigcb);//把下面的闹钟信号，修改其处理方式
    //alarm(3);
    while(1) {
        printf("下雨了，好冷啊！\n");
        sleep(1);
    }
    return 0;
}
